package sac.modelo.data.transacciones;

/**
 * "Visual Paradigm: DO NOT MODIFY THIS FILE!"
 * 
 * This is an automatic generated file. It will be regenerated every time 
 * you generate persistence class.
 * 
 * Modifying its content may cause the program not work, or your work may lost.
 */

/**
 * Licensee: 
 * License Type: Evaluation
 */
import java.io.Serializable;
import javax.persistence.*;

import sac.modelo.data.maestros.Cabra;
import sac.modelo.data.maestros.Chivato;
@Entity
@org.hibernate.annotations.Proxy(lazy=false)
@Table(name="Servicio")
public class Servicio implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public Servicio() {
	}
	
	@Column(name="id_servicio", nullable=false)	
	@Id		
	private int id_servicio;
	
	@ManyToOne(targetEntity=Cabra.class, fetch=FetchType.LAZY)	
	@org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.LOCK})	
	@JoinColumns({ @JoinColumn(name="Cabranumero", referencedColumnName="numero", nullable=false) })	
	@org.hibernate.annotations.LazyToOne(value=org.hibernate.annotations.LazyToOneOption.NO_PROXY)	
	private Cabra cabranumero;
	
	@ManyToOne(targetEntity=Chivato.class, fetch=FetchType.LAZY)	
	@org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.LOCK})	
	@JoinColumns({ @JoinColumn(name="Chivatonombre", referencedColumnName="nombre", nullable=false) })	
	@org.hibernate.annotations.LazyToOne(value=org.hibernate.annotations.LazyToOneOption.NO_PROXY)	
	private Chivato chivatonombre;
	
	@Column(name="fecha_servicio", nullable=false)	
	@Temporal(TemporalType.DATE)	
	private java.util.Date fecha_servicio;
	
	@Column(name="fecha_estimado_parto", nullable=false)	
	@Temporal(TemporalType.DATE)	
	private java.util.Date fecha_estimado_parto;
	
	@ManyToMany(targetEntity=Parto.class)	
	@org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE, org.hibernate.annotations.CascadeType.LOCK})	
	@JoinTable(name="Parto_Servicio", joinColumns={ @JoinColumn(name="Servicioid_servicio") }, inverseJoinColumns={ @JoinColumn(name="Partoid_parto") })	
	@org.hibernate.annotations.LazyCollection(org.hibernate.annotations.LazyCollectionOption.TRUE)	
	private java.util.Set<Parto> partoid_parto = new java.util.HashSet<Parto>();
	
	@OneToOne(mappedBy="servicioid_servicio1", targetEntity=Parto.class, fetch=FetchType.LAZY)	
	@org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE, org.hibernate.annotations.CascadeType.LOCK})	
	@org.hibernate.annotations.LazyToOne(value=org.hibernate.annotations.LazyToOneOption.NO_PROXY)	
	private Parto parto;
	
	private void setId_servicio(int value) {
		this.id_servicio = value;
	}
	
	public int getId_servicio() {
		return id_servicio;
	}
	
	public int getORMID() {
		return getId_servicio();
	}
	
	public void setFecha_servicio(java.util.Date value) {
		this.fecha_servicio = value;
	}
	
	public java.util.Date getFecha_servicio() {
		return fecha_servicio;
	}
	
	public void setFecha_estimado_parto(java.util.Date value) {
		this.fecha_estimado_parto = value;
	}
	
	public java.util.Date getFecha_estimado_parto() {
		return fecha_estimado_parto;
	}
	
	public void setPartoid_parto(java.util.Set<Parto> value) {
		this.partoid_parto = value;
	}
	
	public java.util.Set<Parto> getPartoid_parto() {
		return partoid_parto;
	}
	
	
	public void setCabranumero(Cabra value) {
		this.cabranumero = value;
	}
	
	public Cabra getCabranumero() {
		return cabranumero;
	}
	
	public void setChivatonombre(Chivato value) {
		this.chivatonombre = value;
	}
	
	public Chivato getChivatonombre() {
		return chivatonombre;
	}
	
	public void setParto(Parto value) {
		this.parto = value;
	}
	
	public Parto getParto() {
		return parto;
	}
	
	public String toString() {
		return String.valueOf(getId_servicio());
	}
	
}
